package com.sicheng.lc.lc笔试.字节篇;

import java.util.Scanner;

public class 最大乘积子数组 {

    /**
     * 数组nums 索引从1开始
     * nums[i] 属于 {0,1,2,4,8,16,32,64,....,1024}
     * 求乘积最大的子数组的区间
     * 有多行测试集
     * 输入描述
     * 第一行输入t表示有t个测试用例
     * 每个测试用例由2行组成
     *
     * 第1个用例：
     * 第一行  数组长度n
     * 第二行 数组
     * 第2个用例：
     * 第一行 n
     * 第二行 数组
     */
    static int[] map = new int[1025];

    static {
        for (int i = 0; i <= 10; i++) {
            map[1 << i] = i;
        }
    }

    static int N = (int) 1e4;
    static int[] nums = new int[N + 1];

    public static void main(String[] args) {
        // write your code here
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        for (int k = 0; k < t; k++) {
            int n = sc.nextInt();
            int cru = 0;
            int max = 0;

            int x = 1, y = 1;
            for (int i = 1, j = 1; i <= n; i++) {
                nums[i] = sc.nextInt();
                if (nums[i] != 0) {
                    cru += map[nums[i]];
                } else {
                    j = i + 1;
                    cru = 0;
                }
                if (cru > max) {
                    x = j;
                    y = i;
                    max = cru;
                }
            }

            System.out.printf("%d %d", x, y);
            System.out.println();

        }
    }
}
